#ifndef __M_UTILITY_FUN_H__
#define __M_UTILITY_FUN_H__

#include <ctype.h>
#include <stdio.h>

#define BIT(n) (1 << n) //位数截取：value | BIT(0)


/*函数作用：字符串转16进制
* 参数：char *pbDest->16进制存储区
*       const char *pbSrc->字符串存储区
*       const int nLen->字符串长度
*/
extern void StrToHex(char *pbDest, const char *pbSrc,const int nLen);

/*函数作用：16进制转字符串
* 参数：char *pbDest->16进制存储区
*       const char *pbSrc->字符串存储区
*       const int nLen->字符串长度
*/
extern void HexToStr(char *pbDest,const char *pbSrc,const int nLen);

/*函数作用：字符串转10进制，支持负数转换
* 参数：const char *str->需要转换的字符串
* 返回值：int->10进制
*/
extern int my_atoi(const char *str);


/*函数作用：字符串转10进制，正数转换
* 参数：char *pszDest->10进制存储区
*       const char *pbSrc->字符串存储区
*       const int nLen->字符串长度
*/
extern void StrtoDec(unsigned int *pbDest,const char *pbSrc,const int nLen);

/*函数作用：10进制转字符串
* 参数：char *pbDest->10进制存储区
*       const char *pbSrc->字符串存储区
*       const int nLen->字符串长度
*/
extern int DectoStr(char *pbDest,const char *pbSrc,const int nLen);

/*函数说明：字符串转浮点型，str转换为数字,以','或者'*'结束
* 参数：unsigned char* buf->数字存储区
*       unsigned char* dx->小数点位数,返回给调用函数
* 返回值:int->转换后的数值
*/
extern int StrToFloat(unsigned char* buf,unsigned char* dx);


#endif
